<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <script>
        // function Star(uname, age) {
        //     this.uname = uname;
        //     this.age = age;
        // }
        // Star.prototype.sing = function() {
        //     console.log('我会唱歌');
        // }
        // var ldh = new Star('刘德华', 18);
        // var zxy = new Star('张学友', 19);
        // ldh.sing();
        // console.log(ldh); // 对象身上系统自己添加一个 __proto__ 指向我们构造函数的原型对象 prototype
        // console.log(ldh.__proto__ === Star.prototype);
        // 方法的查找规则: 首先先看ldh 对象身上是否有 sing 方法,如果有就执行这个对象上的sing
        // 如果么有sing 这个方法,因为有__proto__ 的存在,就去构造函数原型对象prototype身上去查找sing这个方法


            function Star(name,age) {
                this.name = name
                this.age = age
            }
            Star.prototype.sex = function() {
                console.log('唱歌');
            }
            var ldh = new Star('刘德华')
            ldh.sex();
            console.log(ldh.__proto__ === Star.prototype);
    </script>
</body>

</html>